a7d6478ef54eed157ecdd7401540717e9a464a8e,src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java,PropertiesDialog,PropertiesDialog,#MapFrame#,478
Before Change
}
});
membershipTable.getColumnModel().getColumn(1).setCellRenderer(new DefaultTableCellRenderer() {
@SuppressWarnings("unchecked")
@Override public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
After Change
}
});
TableColumnModel mod = membershipTable.getColumnModel();
mod.getColumn(0).setCellRenderer(new DefaultTableCellRenderer() {
@Override public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, false, row, column);
if (c instanceof JLabel) {
JLabel label = (JLabel)c;
Relation r = (Relation)value;
label.setText(r.getDisplayName(DefaultNameFormatter.getInstance()));
if (r.isFiltered()) {
label.setFont(label.getFont().deriveFont(Font.ITALIC));
}
}
return c;
}
});
mod.getColumn(1).setCellRenderer(new DefaultTableCellRenderer() {
@SuppressWarnings("unchecked")
@Override public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, false, row, column);
boolean isFiltered = (((Relation)table.getValueAt(row, 0))).isFiltered();
if (c instanceof JLabel) {
JLabel label = (JLabel)c;
MemberInfo col = (MemberInfo) value;
String text = null;
for (RelationMember r : col.role) {
if (text == null) {
text = r.getRole();
}
else if (!text.equals(r.getRole())) {
text = tr("<different>");
break;
}
}
label.setText(text);
if (isFiltered) {
label.setFont(label.getFont().deriveFont(Font.ITALIC));
}
}
return c;
}
});
mod.getColumn(2).setCellRenderer(new DefaultTableCellRenderer() {
@SuppressWarnings("unchecked")
@Override public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, false, row, column);
boolean isFiltered = (((Relation)table.getValueAt(row, 0))).isFiltered();
if (c instanceof JLabel) {
JLabel label = (JLabel)c;
MemberInfo col = (MemberInfo) table.getValueAt(row, 1);
String text = "";
for (Integer p : col.position) {
if (text.length() != 0)
text += ",";
text += String.valueOf(p);
}
label.setText(text);
if (isFiltered) {
label.setFont(label.getFont().deriveFont(Font.ITALIC));
}
}
return c;
}
});
mod.getColumn(2).setPreferredWidth(20);
mod.getColumn(1).setPreferredWidth(40);
mod.getColumn(0).setPreferredWidth(200);
// combine both tables and wrap them in a scrollPane
JPanel bothTables = new JPanel();